﻿
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
using WalkingTec.Mvvm.Core;
using WalkingTec.Mvvm.Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Digitalmes.Model.IoTManagement;
using Digitalmes.Model;

namespace Digitalmes.ViewModel.IoTManagement.MeterDataRecordVMs
{
    public partial class MeterDataRecordBatchVM : BaseBatchVM<MeterDataRecord, MeterDataRecord_BatchEdit>
    {
        public MeterDataRecordBatchVM()
        {
            ListVM = new MeterDataRecordListVM();
            LinkedVM = new MeterDataRecord_BatchEdit();
        }

        public override bool DoBatchEdit()
        {
            
            return base.DoBatchEdit();
        }
    }

	/// <summary>
    /// Class to define batch edit fields
    /// </summary>
    public class MeterDataRecord_BatchEdit : BaseVM
    {

        
        [Display(Name = "_Model._MeterDataRecord._Device")]
        public long? DeviceId { get; set; }
        [Display(Name = "_Model._MeterDataRecord._Source")]
        public DataSourceEnum? Source { get; set; }
        [Display(Name = "_Model._MeterDataRecord._CollectStatus")]
        public CollectStatusEnum? CollectStatus { get; set; }
        [Display(Name = "_Model._MeterDataRecord._IsAbnormal")]
        public bool? IsAbnormal { get; set; }
        [Display(Name = "_Model._MeterDataRecord._AbnormalReason")]
        public string AbnormalReason { get; set; }
        [Display(Name = "_Model._MeterDataRecord._CurrentValue")]
        public decimal? CurrentValue { get; set; }
        [Display(Name = "_Model._MeterDataRecord._Parameter")]
        public long? ParameterId { get; set; }
        [Display(Name = "_Model._MeterDataRecord._ParameterName")]
        public string ParameterName { get; set; }
        [Display(Name = "_Model._MeterDataRecord._DataValueType")]
        public TagDataTypeEnum? DataValueType { get; set; }
        [Display(Name = "_Model._MeterDataRecord._Usage")]
        public decimal? Usage { get; set; }
        [Display(Name = "_Model._MeterDataRecord._Unit")]
        public string Unit { get; set; }
        [Display(Name = "_Model._MeterDataRecord._ReadingTime")]
        public DateTime? ReadingTime { get; set; }

        protected override void InitVM()
        {
           
        }
    }

}